package cn.edu.wynu.d3_time;
/*
SimpleDateFormat：代表简单日期格式化，可以用来把日期对象、时间毫秒值格式化成我们想要的形式
常见构造器                                                 说明
public SimpleDateFormat(String pattern)    创建简单日期格式化对象，并封装时间的格式

         格式化时间的方法                                   说明
public final String format(Date date)       将日期格式化成日期/时间字符串
public final String format(Object time)     将时间毫秒值式化成日期/时间字符串
*/

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test2SimpleDateFormat {
    public static void main(String[] args) throws ParseException {
        // 掌握SimpleDateFormat的使用：
        // 1、准备一些时间
        Date d = new Date();
        System.out.println(d);

        long time = d.getTime();
        System.out.println(time);

        // 2、格式化日期对象，和时间毫秒值
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");

        String rs = sdf.format(d);
        String rs2 = sdf.format(time);
        System.out.println(rs);
        System.out.println(rs2);

        System.out.println("-----------------------------");
        /**
         * 掌握SimpleDateFormat解析字符串时间成为日期对象
         * SimpleDateFormat解析字符串时间成为日期对象
         *          解析方法                            说明
         * public Date parse(String source)   把字符串时间解析成日期对象
         */

        String dateStr = "2019年05月03日 14:58:06 周一 上午";
        // 1、创建简单日期格式化对象，指定的时间格式必须与被解析的时间格式一致，否则程序会出现错误
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");
        Date d2 = sdf2.parse(dateStr);
        System.out.println(d2);
    }
}
